#include "LinearMath/btSerializer.h"
#ifdef __cplusplus
extern "C" {
#endif
btPointerUid* bullet_NewbtPointerUid(){
	btPointerUid* wrap_out = new btPointerUid();
	return wrap_out;
}

btDefaultSerializer* bullet_NewbtDefaultSerializer(int totalSize,unsigned char* buffer){
	int c_arg_totalSize=totalSize;
	unsigned char * c_arg_buffer=(unsigned char *)(void*)(buffer);
	btDefaultSerializer* wrap_out = new btDefaultSerializer(c_arg_totalSize,c_arg_buffer);
	return wrap_out;
}

char* bullet_btDefaultSerializer_getMemoryDna(btDefaultSerializer* c_this){
	char const * c_out = c_this->getMemoryDna();
	char* wrap_out = (char*)(void*)(c_out);
	return wrap_out;
}

int bullet_btDefaultSerializer_getMemoryDnaSizeInBytes(btDefaultSerializer* c_this){
	int c_out = c_this->getMemoryDnaSizeInBytes();
	int wrap_out = (c_out);
	return wrap_out;
}

void bullet_btDefaultSerializer_insertHeader(btDefaultSerializer* c_this){
	c_this->insertHeader();
}

void bullet_btDefaultSerializer_writeHeader(btDefaultSerializer* c_this,unsigned char* buffer){
	unsigned char * c_arg_buffer=(unsigned char *)(void*)(buffer);
	c_this->writeHeader(c_arg_buffer);
}

btChunk* bullet_NewbtChunk(){
	btChunk* wrap_out = new btChunk();
	return wrap_out;
}

int bullet_btChunk_GetFieldOfM_chunkCode(btChunk* c_this){
	return (int)(c_this->m_chunkCode);
}

int bullet_btChunk_GetFieldOfM_dna_nr(btChunk* c_this){
	return (int)(c_this->m_dna_nr);
}

int bullet_btChunk_GetFieldOfM_length(btChunk* c_this){
	return (int)(c_this->m_length);
}

int bullet_btChunk_GetFieldOfM_number(btChunk* c_this){
	return (int)(c_this->m_number);
}

void** bullet_btChunk_GetFieldOfM_oldPtr(btChunk* c_this){
	return (void**)(&c_this->m_oldPtr);
}

btBulletSerializedArrays* bullet_NewbtBulletSerializedArrays(){
	btBulletSerializedArrays* wrap_out = new btBulletSerializedArrays();
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
